// pages/weixinLogin/index.js
import {
  WeixinModel
} from '../../models/weixin.js'
let weixinModel = new WeixinModel()

const app = getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 微信登录openId，判断用户是否微信登录
    openId: '',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let self = this
    let openId = app.getGlobalOpenId()
    console.log("wexinLogin openId:" + openId)
    if(openId != ""){
      wx.checkSession({
        success() {
          console.log("weixinLogin checkSession success")
          //session_key 未过期，并且在本生命周期一直有效
          wx.redirectTo({
            url: '/pages/mine/index?openId' + openId
          })
        },
        fail() {
          console.log("weixinLogin checkSession fail")
          // session_key 已经失效，需要重新执行登录流程
          self.wxLogin()
        }
      })
      
    }else{
      self.wxLogin()
    }
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  // 微信登录
  wxLogin() {

    let self = this
    wx.login({
      success(res) {
        if (res.code) {
          console.log(res)
          // 发起网络请求
          const weixin = weixinModel.weixinLogin(res.code)
          weixin.then(
            res => {
              console.log(res)
              app.setGlobalOpenId(res.data)
              self.setData({
                openId: res.data
              })
              wx.showToast({
                title: '成功',
                icon: 'success',
                duration: 2000
              })
              wx.switchTab({
                url: '/pages/mine/index?openId='
              })
            }
          )
        } else {
          console.log( '登录失败！' + res.errMsg)
          // wx.showToast({
          //   title: '登录失败！' + res.errMsg,
          //   icon: 'success',
          //   duration: 2000
          // })
        }
      }
    })

  }
})